<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/SiteUTF8.master" Inherits="System.Web.Mvc.ViewPage<web_uchet.ViewModels.ViewПользователь>" %>
<%@ Import Namespace="Mvc.Validation"%>
<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">
	Правка сотрудника
</asp:Content>

<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">

    <%= Html.ValidationSummary("Не удалось обновить пользователя, пожалуйста исправьте следующие ошибки:") %>
    <%Dictionary<string, object> TextAttributeDict = new Dictionary<string, object>(1);
              TextAttributeDict.Add("class", "input-box"); %>
    <% using (Html.BeginForm("Edit", "ViewUser", FormMethod.Post, new { id = "edit-user-form" }))
       {%>

        <fieldset>
            <legend>Правка</legend>
            <p>
                <label for="Имя_Настоящее">ФИО:</label>
                <%= Html.TextArea("Имя_Настоящее", Model.Имя_Настоящее, 2, 30, new { @class = "input-box", id = "Имя_Настоящее" })%>
                <%= Html.ValidationMessage("Имя_Настоящее", "*")%>
            </p>
            <p>
                <label for="Описание1">Описание1:</label>
                <%= Html.TextArea("Описание1", Model.Описание1, 5, 30, new { @class = "input-box", id = "Описание1" })%>
                <%= Html.ValidationMessage("Описание1", "*")%>
            </p>
            <p>
                <label for="Описание2">Описание2:</label>
                <%= Html.TextArea("Описание2", Model.Описание2, 5, 30, new { @class = "input-box", id = "Описание2" })%>
                <%= Html.ValidationMessage("Описание2", "*")%>
            </p>
            <p>
                <label for="Описание3">Описание3:</label>
                <%= Html.TextArea("Описание3", Model.Описание3, 5, 30, new { @class = "input-box", id = "Описание3" })%>
                <%= Html.ValidationMessage("Описание3", "*")%>
            </p>
<%--            <p>
                <label for="UserName">Имя пользователя:</label>
                <%=Html.Encode(Model.UserName)%>
                <%= Html.TextBox("UserName", Model.UserName,  new { @class = "input-box", id = "Отменен" })%>
                <%= Html.ValidationMessage("UserName", "*")%>
            </p>--%>
            <p>
                <label for="UserName">Имя пользователя:</label>
                <%= Html.TextBox("UserName", Model.UserName, TextAttributeDict)%>
                <%= Html.ValidationMessage("UserName", "*")%>
            </p>
            <p>
                <label for="Password1">Введите новый пароль, если хотите изменить текущий:</label>
                <%= Html.Password("Password1", Model.Password1, TextAttributeDict)%>
                <%= Html.ValidationMessage("Password1", "*") %>
            </p>
            <p>
                <label for="Password2">Пароль подтверждение:</label>
                <%= Html.Password("Password2", Model.Password2, TextAttributeDict)%>
                <%= Html.ValidationMessage("Password2", "*") %>
            </p>
            <p>
                <label for="ИД_Место_Работы">Место работы:</label>
                <%= Html.DropDownList("ИД_Место_Работы", null, new { @class = "input-box", id = "ИД_Место_Работы" })%>
                <%= Html.ValidationMessage("ИД_Место_Работы", "*")%>
            </p>
            <p>
                <label for="Role1">Полномочия: <br />(Если Вы администратор, не забирайте у себя эти полномочия)</label>
                <%= Html.DropDownList("Role1")%>
                <%= Html.ValidationMessage("Role1", "*")%>
            </p>
            <p>
                <label for="Role1">Полномочия: <br />(Если Вы администратор, не забирайте у себя эти полномочия)</label>
                <%= Html.DropDownList("Role2")%>
                <%= Html.ValidationMessage("Role2", "*")%>
            </p>
            <p>
                <label for="Role1">Полномочия: <br />(Если Вы администратор, не забирайте у себя эти полномочия)</label>
                <%= Html.DropDownList("Role3")%>
                <%= Html.ValidationMessage("Role3", "*")%>
            </p>
            <p>Проверьте как установились полномочия пользователя после подтверждения.</p>
            <p>
                <input type="button" value="Подтвердить" class="button" id="btn-submit"/>
            </p>
        </fieldset>

    <% } %>
    <%= Html.ClientSideValidation<web_uchet.ViewModels.ViewПользователь>("edit-user-form")%>  
    <script type="text/javascript">
        var OldUserName = jQuery("#UserName").val();
        jQuery(document).ready(function() {

            jQuery("#Password1").rules("add", {
                minlength: "7", maxlength: "20",
                equalTo: "#Password2",
                regex: "^.*[^a-zA-Z0-9_]{1}.*$",
                messages: {
                    minlength: "Длина пароля от 7 до 20 символов,", maxlength: "Длина пароля от 7 до 20 символов,",
                    equalTo: "Пароли должны совпадать",
                    regex: "Пароль должен содержать хотя бы один не алфавитно цифровой символ, например: $,#,%,^,&,* и т.п."
                }
            });
        });

        jQuery("#btn-submit").click(function() {
            if (OldUserName != jQuery("#UserName").val()) {
                jQuery.getJSON('/Account/UserNotExists', 'UserName=' + jQuery("#UserName").val(), function(data) {
                    if (data) jQuery("#edit-user-form").submit();
                    else alert('Такое имя пользователя уже существует, введите другое');
                });
            }
            else jQuery("#edit-user-form").submit();
        });
        
        
        
        
//        .rules("add", {
//            remote: { url: "/Account/UserNotExists", type: "get" },
//            messages: {
//                remote: "Такое имя пользователя уже существует, введите другое"
//            }
//        });
        
    </script> 
    <div>
        <%=Html.ActionLink("Назад к списку", "Index") %>
    </div>

</asp:Content>

<asp:Content ContentPlaceHolderID="HintListPlaceHolder" ID="HintListContent" runat="server">
Подсказки:<br />
<ul>
<li>
Объяснение полномочий:
<ul>
    <li>Администратор - обычно деректор компании и его заместители, довереные лица. Все разрешено.</li>
    <li>Менеджер - работает только с заказами (кроме их удаления) и клиентами.</li>
    <li>Исполнитель - может отслеживать назначенные ему заказы  помечать их выполненными.</li>
    <li>Просмотр - видит все что видит администратор, изменить ничего не может.</li>
</ul>
</li>
<li>
Аккуратно изменяйте полномочия пользователя. Например, если сотрудник фигурирует в заказах в качестве менеджера,
то он должен всегда иметь полномочие менеджера, иначе мы получаем что в качестве менеджера вытупает не менеджер,
что противоречит логике и сбивает программу.
</li>
<li>
Если Вашей компании не требуется вести данные о местах работы, выбирайте в списке выбора рабочего места "Нет".
Иначе добавьте новое рабочее место в систему.
</li>
</ul>
</asp:Content>